package com.cskaoyan.object01.syntax.keythis;

/*
       this: 代表对象自身的引用(表示当前对象的引用)

       this关键字：代表当前对象的引用
      1. 当this出现在构造方法的方法体中的时候
         因为构造方法执行的时候，正在创建对象，this表示当前构造方法执行时，正在创建的那个对象

      2. 当this出现在普通成员方法中的时候
         a. 对于一个普通成员，我们只能通过 对象名. 访问成员方法
         b. 在哪个对象上，访问普通成员方法，this所表示的当前对象，就是哪个对象

     this关键字的作用：
        1.解决成员变量的隐藏的问题
        2.访问对象的成员(成员变量 和 成员方法)
        3.访问对象的构造方法
          a. 语法this(实际参数列表)调用到和实际参数列表相匹配的构造方法
          b. this 调用构造方法不能出现在普通方法的方法体中
          c. this 调用构造方法，只能出现在构造方法的方法体，第一条语句


 */
public class Demo2 {

    public static void main(String[] args) {

        // 理解this在普通方法的含义
//        Student stu = new Student();
//
//        // 在stu对象上调用成员方法eat()
//        stu.eat();
//
//        Student s = new Student();
//        // 在对象s上调用成员eat()
//        s.eat();


        // 使用Student的无参构造方法，
        Student student = new Student();
        System.out.println("name = " + student.name
                + ", age = " + student.age + ", studentId = " + student.studentId);
    }
}
